package com.sugar.real.estate.module.business.dal.dataobject.apartment;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sugar.real.estate.framework.mybatis.core.dataobject.BaseDO;
import com.sugar.real.estate.framework.mybatis.core.type.StringListTypeHandler;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;

/**
 * 楼盘/公寓 DO
 *
 * @author Ysugar
 */
@TableName(value = "business_apartment", autoResultMap = true)
@KeySequence("business_apartment_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ApartmentDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;
    /**
     * 房屋中文名
     */
    private String nameZhCn;
    /**
     * 房屋英文名
     */
    private String nameEnUs;
    /**
     * 房屋图片（多个逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> showImages;
    /**
     * 房屋视频（多个逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> showVideos;
    /**
     * 主力户型
     */
    private String mainHouseTypeZhCn;
    /**
     * 主力户型
     */
    private String mainHouseTypeEnUs;
    /**
     * 最小价格（单位：元）
     */
    private BigDecimal priceMin;
    /**
     * 最大价格（单位：元）
     */
    private BigDecimal priceMax;
    /**
     * 中文标签（多个逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> tagsZhCn;
    /**
     * 英文标签（多个逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> tagsEnUs;
    /**
     * 中文亮点（多个逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> projectLightZhCn;
    /**
     * 英文亮点（多个逗号分隔）
     */
    @TableField(typeHandler = StringListTypeHandler.class)
    private List<String> projectLightEnUs;
    /**
     * 项目类型（字典：2）
     */
    private String projectType;
    /**
     * 项目进度（中文）
     */
    private String projectProgressZhCn;
    /**
     * 项目进度（英文）
     */
    private String projectProgressEnUs;
    /**
     * 完工时间
     */
    private LocalDate completionTime;
    /**
     * 建筑商中文名
     */
    private String builderZhCn;
    /**
     * 建筑商英文名
     */
    private String builderEnUs;
    /**
     * 设计师中文名
     */
    private String designerZhCn;
    /**
     * 设计师英文名
     */
    private String designerEnUs;
    /**
     * 内容中文详情
     */
    private String contentZhCn;
    /**
     * 内容英文详情
     */
    private String contentEnUs;
    /**
     * 所属省份ID
     */
    private Long provinceId;
    /**
     * 所属市ID
     */
    private Long cityId;
    /**
     * 所属区县ID
     */
    private Long countyId;
    /**
     * 坐标点（经纬度逗号分隔）
     */
    private String point;
    /**
     * 定位详情
     */
    private String pointDetail;
    /**
     * 热门推荐
     */
    private Boolean isHot;
    /**
     * 最新楼盘（0否 1是）
     */
    private Boolean isLatest;
    /**
     * 查看次数
     */
    private Long lookCount;
    /**
     * 上下架（0下架 1上架）
     */
    private Boolean isShow;
    /**
     * 参考总价
     */
    private String totalAmount;

}